$(function () {
    const form = layui.form
    //渲染文章类别列表函数
    getcateList()
    function getcateList() {
        $.get('my/article/cates', function (res) {
            var htmlStr = template('tpl-table', res)
            $('tbody').html(htmlStr)
        })
    }
    // 为添加类别按钮绑定点击事件
    var indexAdd = null
    $('#btnAddCate').on('click', function () {
        indexAdd = layer.open({
            type: 1,
            area: ['500px', '250px'],
            title: '添加文章分类',
            content: $('#dialog-add').html()
        })
    })
    //通过事件委托给添加表单添加submit监听事件
    $('body').on('submit', '#form-add', function (e) {
        e.preventDefault()
        $.post('my/article/addcates', $(this).serialize(), function (res) {
            if (res.status !== 0) {
                return layer.msg('新增分类失败！')
            }
            //渲染列表
            getcateList()
            layer.msg('新增分类成功！')
            //根据索引关闭弹出层
            layer.close(indexAdd)
        })
    })
    //通过事件委托添加编辑按钮点击事件
    var indexEdit = null
    $('tbody').on('click', '#btn-edit', function () {
        indexEdit = layer.open({
            type: 1,
            area: ['500px', '250px'],
            title: '修改文章分类',
            content: $('#dialog-edit').html()
        })
        let id = $(this).attr('data-id')
        $.get('my/article/cates/' + id, function (res) {
            form.val('form-edit', res.data)
        })
    })
    //通过事件委托给编辑表单添加submit监听事件
    $('body').on('submit', '#form-edit', function (e) {
        e.preventDefault()
        $.post('my/article/updatecate', $(this).serialize(), function (res) {
            if (res.status !== 0) {
                return layer.msg('更新分类数据失败！')
            }
            layer.msg('更新分类数据成功！')
            layer.close(indexEdit)
            getcateList()
        })
    })
    //通过事件委托给删除按钮添加点击事件
    $('tbody').on('click', '#btn-delete', function (e) {
        var id = $(this).data('id')
        layer.confirm('确认删除?', { icon: 3, title: '提示' }, function (index) {
            $.get('my/article/deletecate/' + id, function (res) {
                if (res.status !== 0) {
                    return layer.msg('删除分类失败！')
                }
                layer.msg('删除分类成功！')
                layer.close(index)
                getcateList()
            })
        })
    })
})